package model;

import java.awt.Image;
import java.util.ArrayList;

public class Person {
	
	private String firstName;
	private String lastName;
	private double money;
	private char sex;
	private int x;
	private int y;
	private int walkingSpeed;
	
	/** ArrayList with sprites for left direction walk */
	private ArrayList<Image> fromLeftSpriteList = new ArrayList<Image>();
	
	/** ArrayList with sprites for right direction walk */
	private ArrayList<Image> fromRightSpriteList = new ArrayList<Image>();
	
	/** Boolean to determine if person is walking in right direction */
	private boolean walkRightDirection;
	
	/** Boolean to determine if person is walking in left direction */
	private boolean walkLeftDirection;
	
	/** % of thirst */
	private int thirst;
	
	/** % of hunger */
	private int hunger;
	
	/** Boolean to determine if the person baught some goods already */
	private boolean shopping;
	
	/** Represents the time the person is standing still and buys */
	private int waitAndBuy =15;
	
	/** Boolean to determine if person has enough money to buy */
	private boolean cantAffordGoods=true;
	
	/** Set up with product if person cant buy it */
	private Object notInStockProduct = null;
	
	public Person(char sex, int walkingSpeed){
		this.sex=sex;
		this.walkingSpeed = walkingSpeed;
		this.shopping=false;
	}

	public String getFirstName() {
		return firstName;
	}

	public String getLastName() {
		return lastName;
	}

	public double getMoney() {
		return money;
	}

	public char getSex() {
		return sex;
	}

	public int getX() {
		return x;
	}

	public void setX(int x) {
		this.x = x;
	}

	public int getY() {
		return y;
	}

	public void setY(int y) {
		this.y = y;
	}

	public ArrayList<Image> getFromLeftSpriteList() {
		return fromLeftSpriteList;
	}

	public ArrayList<Image> getFromRightSpriteList() {
		return fromRightSpriteList;
	}

	public boolean isWalkRightDirection() {
		return walkRightDirection;
	}

	public void setWalkRightDirection(boolean walkRightDirection) {
		this.walkRightDirection = walkRightDirection;
	}

	public boolean isWalkLeftDirection() {
		return walkLeftDirection;
	}

	public void setWalkLeftDirection(boolean walkLeftDirection) {
		this.walkLeftDirection = walkLeftDirection;
	}

	public int getWalkingSpeed() {
		return walkingSpeed;
	}

	public void setFirstName(String firstName) {
		this.firstName = firstName;
	}

	public void setLastName(String lastName) {
		this.lastName = lastName;
	}

	public void setMoney(double money) {
		this.money = money;
	}

	public int getThirst() {
		return thirst;
	}

	public void setThirst(int thirst) {
		this.thirst = thirst;
	}

	public int getHunger() {
		return hunger;
	}

	public void setHunger(int hunger) {
		this.hunger = hunger;
	}

	public boolean isShopping() {
		return shopping;
	}

	public void setShopping(boolean shopping) {
		this.shopping = shopping;
	}

	public int getWaitAndBuy() {
		return waitAndBuy;
	}

	public void setWaitAndBuy(int waitAndBuy) {
		this.waitAndBuy = waitAndBuy;
	}

	public boolean isCantAffordGoods() {
		return cantAffordGoods;
	}

	public void setCantAffordGoods(boolean cantAffordGoods) {
		this.cantAffordGoods = cantAffordGoods;
	}

	public Object getNotInStockProduct() {
		return notInStockProduct;
	}

	public void setNotInStockProduct(Object notInStockProduct) {
		this.notInStockProduct = notInStockProduct;
	}
}
